java在处理更新时合并到文件中
我将术语索引保存在HashMap中,其中字符串是术语,如果在文档列表中找到了该术语,则列表为该术语
private static Map<String, List<Integer>> termMap;
此hashmap包含文档中找到的术语的索引。但术语的数量相当大。因此,我计划不时将映射写入磁盘并刷新映射。我已经编写了代码,它正在将地图写入磁盘
fileOutputStream = new FileOutputStream("files/termMap.txt");
objectOutputStream = new ObjectOutputStream(fileOutputStream);
objectOutputStream.writeObject(authMap);
objectOutputStream.close();
但是当第二次尝试写入磁盘时,我无法检查已经存在的术语并更新文档列表,而不是替换它们,就像我通常使用下面的代码对hashmap所做的那样
if (termMap.containsKey(key)) {
termMap.get(key).add(valueId);
} else {
List<Integer> list = new ArrayList<Integer>();
list.add(valueId);
termMap.put(key, list);
}
请帮忙
共 (0) 个答案